package com.EJ.ejcompanyweb;

import androidx.appcompat.app.AppCompatActivity;

import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.PixelFormat;
import android.media.MediaPlayer;
import android.media.SoundPool;
import android.os.Build;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.WindowManager;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.EJ.ejcompanyweb.HttpURLC.NoAdWebViewClient;
import com.EJ.ejcompanyweb.entity.DateEntity;
import com.tencent.smtt.sdk.WebViewClient;

import java.util.HashMap;

public class WebActivity extends AppCompatActivity {
    private WebView webView;
    private long exitTime = 0;
    private NoAdWebViewClient noAdWebViewClient;

    private com.tencent.smtt.sdk.WebView tencent_webview;
   // private String url = "http://www.chinaags.net";
    private DateEntity dateEntity;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_detail);
        getWindow().setFormat(PixelFormat.TRANSLUCENT);
        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
        getSupportActionBar().hide();
        dateEntity= (DateEntity) getIntent().getSerializableExtra("DateEntity");
        init();
       // initView();
      //  setWebView();
    }

    private void init() {
        tencent_webview =  findViewById(R.id.detail_web_view);
        com.tencent.smtt.sdk.WebSettings webSettings = tencent_webview.getSettings();
        webSettings.setJavaScriptEnabled(true);
        //设置自适应屏幕，两者合用
        webSettings.setUseWideViewPort(true); //将图片调整到适合webview的大小
        webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小
        webSettings.setDefaultTextEncodingName("UTF-8");//设置字符集编码
        //是否可以前进
        tencent_webview.canGoForward();
        tencent_webview.canGoBack();
        tencent_webview.setWebViewClient(
                new WebViewClient(){
                    @Override
                    public boolean shouldOverrideUrlLoading(com.tencent.smtt.sdk.WebView webView, String s) {
                        webView.loadUrl(s);
                        return true;
                    }

                }
        );
       TextView tv_title=findViewById(R.id.detail_title);
       tv_title.setText(dateEntity.getTitles());

        ImageView detailView_back=findViewById(R.id.detail_back);
        detailView_back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });

        ImageView detailView_share=findViewById(R.id.detail_share);
        detailView_share.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent wechatIntent = new Intent(Intent.ACTION_SEND);
                wechatIntent.setPackage("com.tencent.mm");
                wechatIntent.setType("text/plain");
                wechatIntent.putExtra(Intent.EXTRA_TEXT, dateEntity.getUrl());
                startActivity(wechatIntent);
            }
        });
    }

    @Override
    protected void onStart() {
        super.onStart();
        tencent_webview.loadUrl(dateEntity.getUrl());
    }

    private void initView() {
        noAdWebViewClient= new  NoAdWebViewClient("http://www.chinaags.net",this);
        webView = this.findViewById(R.id.detail_web_view);
    }
    private void setWebView() {

        String url = "http://www.baidu.com";
        String url1="http://www.chinaags.net";
        webView.loadUrl(url1);
        //声明WebSettings子类
        WebSettings webSettings = webView.getSettings();
        //如果访问的页面中要与Javascript交互，则webview必须设置支持Javascript
        webSettings.setJavaScriptEnabled(true);
        // 若加载的 html 里有JS 在执行动画等操作，会造成资源浪费（CPU、电量）
        // 在 onStop 和 onResume 里分别把 setJavaScriptEnabled() 给设置成 false 和 true 即可

        //设置自适应屏幕，两者合用
        webSettings.setUseWideViewPort(true); //将图片调整到适合webview的大小
        webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小
        //自适应屏幕
        webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);

//缩放操作
        webSettings.setSupportZoom(true); //支持缩放，默认为true。是下面那个的前提。
        webSettings.setBuiltInZoomControls(true); //设置内置的缩放控件。若为false，则该WebView不可缩放
        webSettings.setDisplayZoomControls(false); //隐藏原生的缩放控件

//其他细节操作
      //  webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //关闭webview中缓存
        webSettings.setAllowFileAccess(true); //设置可以访问文件
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口
        webSettings.setLoadsImagesAutomatically(true); //支持自动加载图片
        webSettings.setDefaultTextEncodingName("UTF-8");//设置字符集编码

        //是否可以前进
        webView.canGoForward();
        webView.canGoBack();
        //步骤3. 复写shouldOverrideUrlLoading()方法，使得打开网页时不调用系统浏览器， 而是在本WebView中显示
        webView.setWebViewClient(
                noAdWebViewClient
/*
                new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        }
*/
        );
    }

    //双击退出
    public boolean onKeyDown(int keyCode, KeyEvent event){
        if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
            if (tencent_webview.canGoBack()){
                tencent_webview.goBack();
            }else {
/*                if((System.currentTimeMillis()-exitTime) > 1000) {
                    //System.currentTimeMillis()无论何时调用，肯定大于2000
                    Toast.makeText(this, "再按一次退出程序",Toast.LENGTH_SHORT).show();
                    exitTime = System.currentTimeMillis();
                } else{
                    finish();
                   // System.exit(0);
                }*/
                finish();
            }
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
/*       webView.clearCache(true);
        webView.clearHistory();
        webView.clearFormData();*/
    }

    public static void activityStart(Activity context)
    {
        Intent intent = new Intent(context, WebActivity.class);
        context.startActivity(intent);
        context.finish();
    }
}
